1. Field of the Invention
The present invention relates to the field of rendering continuous tone color images to binary patterns of color dots for the purpose of printing or displaying on binary devices. Specifically, the present invention relates to performing error diffusion on color separations while maintaining minimum interaction distances between dots of different colors on binary color devices.
2. Discussion of the Related Art
Most Thermal and Piezo Ink Jet-devices are typically designed to operate as binary devices, whereby each output pixel location on the page can be turned either on or off. The main reason for this is that the precise jet-timing is a complicated function of the specific head design, the ink drying properties, the print mode (uni- or bi-directional) and fill pattern, and the order of firing. Most vendors of ink jet print heads prefer to integrate this functionality into an Application Specific Integrated Circuit (ASIC) that is either embedded with the head (inkjet cartridge) or used externally to drive it. Either way, the head appears to be a binary device to the system interface. A true color device would need the equivalent of the three (CMY) or four (CMYK) rendered separation bitmaps to generate the color output. The data does not have to be generated all at once, but can be produced in bands covering the head vertical (slow scan) extent. data does not have to be generated all at once, but can be produced in bands covering the head vertical (slow scan) extent.
A conventional approach for generating the color data is by error-diffusing each color plane independently. The method is simple and bandwidth efficient, but the output quality is limited. Individual color dots may overlap each other in an arbitrary matter, and this can cause color hue shifts and undesired artifacts. To illustrate the problem, consider a simple case of a light solid gray area being rendered in three colors (CMY, with C=M=Y). For the case of independent planes and all else being the same (random seed included), the color planes are identical and therefore would tend to have a perfect dot overlap. Any given dot location would be turned either on or off in all the three planes simultaneously. However, even the slightest disturbance (due to noise, random seed differences, or even some prior colored data on the page with uneven CMY values) can easily brake this lock and cause the dots in one plane to be rendered away from the dots belonging to the other planes. The resulting effect is that instead of a uniformly (orderly random) sequence of nearly black dots, the output is now composed of three times as many (random) color dots. Every now and then, two or more of these dots will overlap at random, thereby creating secondary color artifacts and patterns (worms). Depending on the output resolution, these artifacts can often be quite visible.
With CMYK, used for high-quality printing, the problem can be even more pronounced. The K channel is typically generated from the CMY data based on some Gray Component Replacement (GCR) or Under Color Removal (UCR) algorithm. A portion of the common CMY component is removed and replaced with a proportional amount of K according to a pre-determined rule. However, the black ink is typically made very dense and light absorbent for good reproduction of black text. Thus, not only is an increase resultant in the number of possible combinations for interaction between two or more colored dots, but some of the combinations are more visible. For example, black plus any other color will be perceived as black, and will be much more visually noticeable than, for example, yellow.
Several techniques have been proposed in the literature to overcome the above limitations. One example is the so called Vector Error Diffusion, where multi-planar error diffusion in 3P or 4P is used instead of the three or four single plane independent error diffusion. (The symbol P stands for xe2x80x9cplanesxe2x80x9d and measures the dimensionality of the space being considered.) At each pixel, a vector is calculated from the compensated pixel value to all the possible dot outcomes, and the closest output is selected based on the shortest distance or some other criteria. The (multi-dimensional) error between the desired pixel color and the selected output is than propagated to the nearby neighborhood in the conventional error-diffusion manner. The Vector Error Diffusion is not commonly employed, despite the potential for higher output quality, mainly due to the greater computational complexity and larger bandwidth resulting from having to process the CMYK data all at once.
As is apparent from the above discussion, a need exists for resolving problems associated with interactions of different color dots without requiring complete processing of all of the color planes simultaneously.
Error Diffusion is a well-known technique for rendering continuous tone images to binary pattern of dots for the purpose of printing or displaying on a binary device. It is the preferred method of choice for driving relatively low-resolution thermal or Piezo inkjet devices. The method has been extended to color via the so-called vector error diffusion, but the solution requires the processing of all the color planes simultaneously. The vector error diffusion is seldom applied to the very low cost inkjet devices due to its significantly increased bandwidth and complexity. The result is a much compromised image quality. A need exists for a new and effective technique to achieve the vector error diffusion image quality without the associated computational complexity. An object of the present invention is to leverage the generic inkjet properties and to eliminates the secondary and higher-order dot interactions by maintaining a minimum interaction distance (MID). An object of the present invention is to provide circuits for implementing a method for eliminating the color dependency limitations. Unlike the Vector Error Diffusion, the present invention is simple, sequential, and extremely suitable for high-speed implementation.
According to an embodiment of the present invention, a circuit for generating a threshold bias signal for processing n color separations representing a color image includes a threshold bias register which holds and outputs the current threshold bias signal. A threshold bias adder computes and outputs an adjusted threshold bias signal for use during a next separation corresponding to the same pixel position.
According to an aspect of the present invention, the circuit for generating a threshold bias signal includes a threshold bias adjustment circuit which contributes a threshold bias adjustment signal for use during the next processing cycle which is a function of the output pixel state signal for the current color separation and is a function of the current and next color separations of the current pixel. When the output pixel state signal for the current color separation indicates that the pixel is turned off, then the threshold bias adjustment signal is zero. If the pixel is turned on, then the threshold bias adjustment signal is a non-zero value dependent upon the current and next color separations. By adding a non-zero threshold bias adjustment signal, the likelihood of turning on another color in another separation in the same pixel position is reduced.
According to another aspect of the present invention, the circuit for generating the threshold bias signal includes a threshold bias recycling circuit which contributes a portion of the previous threshold bias value used for the previous pixel in the same color separation. This is used when the minimum interaction distance between two pixels of differing colors is greater than one pixel. The contents of the threshold bias register are stored in a threshold bias recycling memory for processing the same separation of the next pixel. To prepare for the next separation of the current pixel, the previous threshold bias value corresponding to the previous pixel in the next color separation is multiplied by a factor less than one before being added to the current threshold bias value.
According to yet another aspect of the present invention, a comparator compares the adjusted pixel input with an adjusted threshold input to determine the output pixel state signal for the current pixel and current separation. The adjusted threshold input is computed by adding the contents of the threshold register with the contents of the threshold bias register. The adjusted pixel input results from the error diffusion process. The output pixel state signal is used to determine the threshold bias adjustment value discussed above.
The color separations are processed in a reversed-interleaved fashion according to the present invention. For example, in a CMYK color system (cyan, magenta, yellow, and black), the the first pixel of the K separation is processed, then the first pixel of the Y separation, then the first pixel of the M separation, then the first pixel of the C separation before progressing to the second pixel.
These and other features, aspects, and advantages of the present invention are fully explained in the Detailed Description of the Invention.